From 1970e0aff2dac17095bf91098cf20567aaa53d72 Mon Sep 17 00:00:00 2001 From: robertl Date: Wed, 20 Jan 2010 12:40:53 +0000 Subject: [PATCH] When writing routes, set class to map type instead of user so that duplicate waypoints aren't created. --- garmin.c | 5 ++++- jeeps/gpsapp.c | 2 +- jeeps/gpsmem.c | 11 ++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/garmin.c b/garmin.c index 6714e82a8..f7f47d4ad 100644 --- a/garmin.c +++ b/garmin.c @@ -769,7 +769,7 @@ sane_GPS_Way_New(void) way->cross_road[0] = 0; way->cross_road[0] = 0; way->dpth = 1.0e25f; - way->wpt_class = 0; + way->wpt_class = 0; // user waypoint by default. return way; } @@ -966,6 +966,9 @@ route_waypt_pr(const waypoint *wpt) rte->lat = wpt->latitude; rte->smbl = gt_find_icon_number_from_desc(wpt->icon_descr, PCX); + // map class so unit doesn't duplicate routepoints as a waypoint. + rte->wpt_class = 0x80; + if (wpt->altitude != unknown_alt) { rte->alt = wpt->altitude; } else { diff --git a/jeeps/gpsapp.c b/jeeps/gpsapp.c index 93f7d8caa..81ef74c90 100644 --- a/jeeps/gpsapp.c +++ b/jeeps/gpsapp.c @@ -2220,7 +2220,7 @@ static void GPS_D109_Send(UC *data, GPS_PWay way, int32 *len, int protoid) p = data; *p++ = 1; /* data packet type; must be 1 for D109 and D110 */ - *p++ = 0; // way->wpt_class; + *p++ = way->wpt_class; *p++ = ((way->dspl & 3) << 5) | 0x1f; /* colour & display */ diff --git a/jeeps/gpsmem.c b/jeeps/gpsmem.c index 47b3be329..e9ae4a3ec 100644 --- a/jeeps/gpsmem.c +++ b/jeeps/gpsmem.c @@ -271,13 +271,10 @@ GPS_PWay GPS_Way_New(void) ret->dst = 0; ret->smbl = ret->dspl = ret->colour = ret->alt = ret->prot = INT_MAX; - if(gps_waypt_type==pD108) - { - ret->dst = 0; - ret->attr = 0x60; - for(i=0;i<7;++i) ret->subclass[i] = 0; - for(i=6;i<18;++i) ret->subclass[i] = 0xff; - } + ret->dst = 0; + ret->attr = 0x60; + for(i=0;i<7;++i) ret->subclass[i] = 0; + for(i=6;i<18;++i) ret->subclass[i] = 0xff; return ret; } -- 2.30.2